package com.javasm.springmybatis.controller;

import com.javasm.springmybatis.mail.EmailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @Author：longjinyi
 * @Version：1.0
 * @Date：2021/12/29-21:29
 * @Since:jdk1.8
 * @Description:
 */
@RestController //只返回字符串，不跳转页面，@RestController和@Controller都可以
public class EmailController {

//
//    //需要发送邮件的类
//    @Autowired
//    protected JavaMailSender javaMailSender;
//
//    //设置邮箱验证码的失效时间要用到redis
//    //所以这里需要创建redis的类StringRedisTemplate的对象
//    @Autowired
//    private StringRedisTemplate stringRedisTemplate;

    //调用EmailService类里面的方法，需要EmailService类的对象
    @Autowired
    private EmailService emailService;

    @RequestMapping("sendEmailCode")
    //接收k=value形式的请求参数，所以方法的括号里面不用加注解@RequestBody
    public String sendEmailCode(String email) {

        //测试异步发送邮件的线程是不是多线程，这里创建一个循环，循环调用发送邮件方法100次
        for (int i = 0; i < 100; i++) {
            emailService.sendEmail();
        }

        //随便返回一个字符串
        return "success";


        //要实现邮件发送，还要在核心配置文件application.yml里面配置发送邮件的邮箱的host,账号和授权码，以及发送邮件之后发送的邮件的存储位置
    }

}
